   Help for MSStat

Properties	Events

Registration Information

Order Form

Getting Custom Controls Written

Licensing Information

Description

Status bar VBX for Visual Basic.  This control displays a multi-element status bar on the bottom of your form.  It automatically handles the NumLock, CapsLock, ScrollLock, and Insert key indicators.  It also displays times/dates in International and programmer defined formats.

Remarks

The elements in the control are defined by the Item properties.  The ItemCount property determines how many elements there are.  This can be set at any time.  The default is one (1).

File Name

MSSTAT1.VBX

Object Type

MabryStatus

Compatibility

VB 1.0 and up

Quick Start

·	Add MSSTAT1.VBX to your project using File | Add File (Ctrl-D).

·	Double click on the MSStat toolbar button to place a copy on your form.

·	Set the Align property to Bottom to lock the MSStat control to the bottom of your form.

·	Set the ItemCount property to the number of fields you want on your status bar.

·	In your code (usually in the Form_Load procedure), set the ItemStyle, ItemLabel and ItemCaption properties to the desired values.

Distribution Note     When you develop and distribute an application that uses MSStat, you should install the file MSSTAT1.VBX into the users Windows SYSTEM directory.  MSStat has version information built into it.  So, during installation, you should ensure that you are not overwriting a newer version of MSStat.


Properties
MSStat Properties

Properties that have special meaning for this control or that only apply to this control are marked with an asterisk (*).

Align Property

BackColor Property

*BevelOuter Property

*BevelWidth Property

*Border Property

*Caption Property

DataChanged Property

DataField Property

DataSource Property

*DefaultItem Property

Enabled Property

FontBold Property

FontItalic Property

FontName Property

FontSize Property

FontStrike Property

FontUnder Property

ForeColor Property

Height Property

*HorzGap Property

hWnd Property

Index Property

*ItemAlignment Property

*ItemAutoSize Property

*ItemBackColor Property

*ItemBarColor Property

*ItemBevelInner Property

*ItemCaption Property

*ItemCount Property

*ItemDisabledColor Property

*ItemEnabled Property

*ItemForeColor Property

*ItemLabel Property

*ItemPercent Property

*ItemStyle Property

*ItemTextBackColor Property

*ItemVisible Property

*ItemWidth Property

Left Property

Name Property

Parent Property

*StateCapsLock Property

*StateInsert Property

*StateNumLock Property

*StateScrollLock Property

Tag Property

Top Property

*VertGap Property

Visible Property

Width Property


Events
MSStat Events

Click Event

DblClick Event

DragDrop Event

DragOver Event

*ItemClick Event

*ItemDblClick Event

*ItemMouseOver Event

MouseDown Event

MouseMove Event

MouseUp Event


BevelOuter Property

See Also	Example

Description

Determines the 3-D style of the border (if any) surrounding the control.

Usage

[form.][control.]BevelOuter[ = integer ]

Remarks

The value of this property determines the style of the control's border. The bevels width is determines by BevelWidth.  This property may be one of four values:

Value	Description

0	Normal frame

1	Raised frame (3-D)

2	Inset frame (3-D)

3	Lowered frame (3-D)

4	Single line (3-D)

Data Type

Integer (enumerated)


See Also

Properties:

BevelWidth

HorzGap

ItemBevelInner

VertGap


BevelWidth Property

See Also	Example

Description

Determines the width of the inner and outer borders (bevels).

Usage

[form.][control.]BevelWidth[ = integer ]

Remarks

The value of this property determines the width of the inner border (if any, see ItemBevelInner) and the outer border (if any, see Border and BevelOuter).  This is always measured in pixels.

Data Type

Integer


See Also

Properties:

BevelOuter

Border

HorzGap

ItemBevelInner

VertGap


Border Property

See Also	Example

Description

Determines whether or not there is a border around the control.

Usage

[form.][control.]Border[ = integer ]

Remarks

The value of this property determines whether or not the control has a border.  This property may be one of two values:

Value	Description

0	No border

1	Single width border

Data Type

Integer (enumerated)


See Also

Properties:

BevelOuter


Caption Property

See Also	Example

Description

Holds the caption of the default item.

Usage

[form.][control.]Caption[ = string ]

Remarks

This property, coupled with DefaultItem, points to an ItemCaption.  Setting or getting this property is equivalent to doing the same with ItemCaption(DefaultItem ).

In other words, this code:

MSStat1.DefaultItem = 5

MSStat1.Caption = "Open Help File"

is equivalent to:

MSStat1.ItemCaption(5) = "Open Help File"

This is the default property of the control.  So, the following code is equivalent to the previous two examples:

MSStat1.DefaultItem = 5

MSStat1 = "Open Help File"

This property is very useful when binding MSStat to a data control.  This is the propety that the data control sets.  This can be quite useful for giving the user feedback when scanning through a database.

Data Type

String


See Also

Properties:

DefaultItem

ItemCaption


DefaultItem Property

See Also	Example

Description

Holds the caption of the default item.

Usage

[form.][control.]Caption[ = string ]

Remarks

This property, coupled with Caption, points to an ItemCaption.  This property determines which ItemCaption is referenced by Caption.

In other words, this code:

MSStat1.DefaultItem = 5

MSStat1.Caption = "Open Help File"

is equivalent to:

MSStat1.ItemCaption(5) = "Open Help File"

This is the default property of the control.  So, the following code is equivalent to the previous two examples:

MSStat1.DefaultItem = 5

MSStat1 = "Open Help File"

Data Type

Integer


See Also

Properties:

Caption

ItemCaption


HorzGap and VertGap Properties

See Also	Example

Description

Determines the horizontal and vertical distances between the inner border and the outer border.

Usage

[form.][control.]HorzGap[ = integer ]

[form.][control.]VertGap[ = integer ]

Remarks

The value of this property determines the distance between the outer border (if any, see Border and BevelOuter) and the inner border (if any, see ItemBevelInner).  This is always measured in pixels.

Data Type

Integer


See Also

Properties:

BevelOuter

BevelWidth

ItemBevelInner


ItemAlignment Property

See Also

Description

Sets the text alignment of an item

Usage

[form.][control.]ItemAlignment( index )[ = integer ]

Remarks

This property determines the text alignment of an item. The item specified by index (this must range from 0 to ItemCount - 1).  This can be the following values:

Value	Description

0	Left

1	Right

2	Center

Data Type

Integer (enumerated)


See Also

Properties:

ItemCaption

ItemStyle


ItemAutoSize Property

See Also

Description

Determines if the item is automatically sized.

Usage

[form.][control.]ItemAutoSize( index )[ = boolean ]

Remarks

This property determines if the item is automatically sized when the text in it changes.  The item specified by index (this must range from 0 to ItemCount - 1).

This property defaults to False.  If this property is set to True, the ItemWidth property is ignored.

Data Type

Integer (boolean)


See Also

Properties:

ItemCaption

ItemStyle

ItemWidth


ItemBackColor Property

See Also

Description

Sets the color of the background of an item.

Usage

[form.][control.]ItemBackColor( index )[ = color ]

Remarks

This property determines what color the background of an item. The item specified by index (this must range from 0 to ItemCount - 1).

Data Type

Color


See Also

Properties:

ItemBarColor

ItemDisabledColor

ItemForeColor

ItemStyle

ItemTextBackColor


ItemBarColor Property

See Also

Description

Sets the color of the percentage bar of an item.

Usage

[form.][control.]ItemBarColor( index )[ = color ]

Remarks

This property determines the color of the percentage bar (if applicable). The item specified by index (this must range from 0 to ItemCount - 1).

Data Type

Color


See Also

Properties:

ItemBackColor

ItemDisabledColor

ItemForeColor

ItemStyle


ItemBevelInner Property

See Also	Example

Description

Determines the 3-D style of the border immediately surrounding the item.

Usage

[form.][control.]ItemBevelInner( index )[ = integer ]

Remarks

The value of this property determines the style of the border around the item specified by index (this must range from 0 to ItemCount - 1).  The bevels width is determines by BevelWidth.  This property may be one of four values:

Value	Description

0	Normal frame

1	Raised frame (3-D)

2	Inset frame (3-D)

3	Lowered frame (3-D)

Data Type

Integer (enumerated)


See Also

Properties:

BevelOuter

BevelWidth

HorzGap

VertGap


ItemCaption Property

See Also

Description

Sets the text of an item.

Usage

[form.][control.]ItemCaption( index )[ = string ]

Remarks

This property holds the text of the item specified.  For the time and date style (see ItemStyle) this is the formatting string to use.  See the Format$ function for more information. The item specified by index (this must range from 0 to ItemCount - 1).

Data Type

String


See Also

Properties:

ItemBackColor

ItemDisabledColor

ItemForeColor

ItemLabel

ItemStyle


ItemClick Event

See Also	Example

Description

Occurs when the user clicks in one of the items.

Syntax

Sub ctlname_ItemClick (ItemIndex As Integer)

Remarks

This event only occurs If the Enabled property is set to True (default).

The argument ItemIndex holds the index for the item the user clicked in.


See Also

Event:

ItemDblClick

ItemMouseOver


ItemCount Property

See Also

Description

Determines the number of frames (items) in the status bar.

Usage

[form.][control.]ItemCount( index )[ = integer ]

Remarks

This property determines the number of items that are in the status bar.

Data Type

Integer


See Also

Properties:

ItemAlignment

ItemAutoSize

ItemBackColor

ItemBarColor

ItemBevelInner

ItemCaption

ItemDisabledColor

ItemEnabled

ItemForeColor

ItemLabel

ItemPercent

ItemStyle

ItemVisible

ItemWidth


ItemDblClick Event

See Also	Example

Description

Occurs when the user double clicks in one of the items.

Syntax

Sub ctlname_ItemDblClick (ItemIndex As Integer)

Remarks

This event only occurs If the Enabled property is set to True (default).

The argument ItemIndex holds the index for the item the user double clicked in.


See Also

Event:

ItemClick

ItemMouseOver


ItemMouseOver Event

See Also

Description

Occurs when the mouse is over an element.

Syntax

Sub ctlname_ItemMouseOver (ItemIndex As Integer)

Remarks

This event only occurs If the Enabled property is set to True (default).

The argument ItemIndex holds the index for the item that the mouse is over.  If the mouse is over the status bar, but not over any particular element, ItemIndex is -1.


See Also

Event:

ItemClick

ItemDblClick


ItemDisabledColor Property

See Also

Description

Sets the color of the text of an item when disabled.

Usage

[form.][control.]ItemDisabledColor( index )[ = color ]

Remarks

This property determines the disabled text color of an item. The item specified by index (this must range from 0 to ItemCount - 1).

Data Type

Color


See Also

Properties:

ItemBackColor

ItemBarColor

ItemForeColor

ItemStyle


ItemEnabled Property

See Also

Description

Determines if an item is enabled.

Usage

[form.][control.]ItemEnabled( index )[ = boolean ]

Remarks

This property determines if an item is enabled.  This only applies to text items.  If this property is set to True, the text item is drawn using ItemForeColor.  Otherwise, it is drawn using ItemDisabledColor.

The item specified by index (this must range from 0 to ItemCount - 1).

Data Type

Integer (boolean)


See Also

Properties:

ItemDisabledColor

ItemEnabled

ItemForeColor

ItemStyle


ItemForeColor Property

See Also

Description

Sets the color of the text of an item.

Usage

[form.][control.]ItemForeColor( index )[ = color ]

Remarks

This property determines the text color of an item. The item specified by index (this must range from 0 to ItemCount - 1).

Data Type

Color


See Also

Properties:

ItemBackColor

ItemBarColor

ItemDisabledColor

ItemStyle

ItemTextBackColor


ItemLabel Property

See Also

Description

Sets the text that appears in the gap in front of an item.

Usage

[form.][control.]ItemLabel( index )[ = string ]

Remarks

This property holds the text that is shown in the gap that is in front of an item specified by index (this must range from 0 to ItemCount - 1).

Data Type

String


See Also

Properties:

ItemBackColor

ItemCaption

ItemDisabledColor

ItemForeColor

ItemStyle


ItemPercent Property

See Also	Example

Description

Sets the position of the percentage bar in an item.

Usage

[form.][control.]ItemPercent( index )[ = integer ]

Remarks

Sets the position of the percent bar and the value displayed in the center of an item.  The item specified by index (this must range from 0 to ItemCount - 1).

This property can range from 0 to 100.

Data Type

Integer


See Also

Properties:

ItemBarColor

ItemStyle


ItemStyle Property

See Also

Description

Determines the display style of an item.

Usage

[form.][control.]ItemStyle( index )[ = integer ]

Remarks

The value of this property determines the style of an item specified by index (this must range from 0 to ItemCount - 1).

This property may be one of these values:

Value	Displays

0	Text (ItemCaption)

1	NumLock display (StateNumLock)

2	ScrollLock display (StateScrollLock)

3	CapsLock display (StateCapsLock)

4	Insert/Overwrite display (StateInsert)

5	Percent bar (ItemPercent)

6	Time/date display

Data Type

Integer (enumerated)


See Also

Properties:

ItemAlignment

ItemBackColor

ItemBarColor

ItemBevelInner

ItemCaption

ItemCount

ItemDisabledColor

ItemEnabled

ItemForeColor

ItemLabel

ItemPercent

ItemTextBackColor

ItemVisible

ItemWidth


ItemTextBackColor Property

See Also

Description

Sets the color of the text when it's in the background.

Usage

[form.][control.]ItemTextBackColor( index )[ = color ]

Remarks

This property determines what color the text is when it's on the right side of the percentage bar. The item specified by index (this must range from 0 to ItemCount - 1).

Data Type

Color


See Also

Properties:

ItemBackColor

ItemBarColor

ItemDisabledColor

ItemForeColor

ItemStyle


ItemVisible Property

See Also

Description

Determines if an item is visible.

Usage

[form.][control.]ItemVisible( index )[ = boolean ]

Remarks

This property determines if an item is visible.  If this property is set to False, the item specified is not shown on the status bar.  The item specified by index (this must range from 0 to ItemCount - 1).

Data Type

Integer (boolean)


See Also

Properties:

ItemEnabled

ItemStyle


ItemWidth Property

See Also

Description

Holds the width (in twips) of the item.

Usage

[form.][control.]ItemWidth( index )[ = integer ]

Remarks

This property determines the width of an item.  This only applies to text and percentage bar items.  The item specified by index (this must range from 0 to ItemCount - 1).

If this property is set to zero, the size is selected automatically based on the current size of the control.  Otherwise, this is the width of the item, in twips.

Data Type

Integer


See Also

Properties:

ItemAutoSize

ItemStyle


StateCapsLock Property

See Also

Description

Gets and sets the caps lock state.

Usage

[form.][control.]StateCapsLock[ = boolean ]

Remarks

This property allows you to get and set the state of the CapsLock key.

Data Type

Integer (boolean)


See Also

Properties:

ItemStyle

StateInsert

StateNumLock

StateScrollLock


StateInsert Property

See Also

Description

Gets and sets the insert/overwrite state.

Usage

[form.][control.]StateInsert[ = boolean ]

Remarks

This property allows you to get and set the state of the Insert key.  Some controls do not recognize this state.  It is up to the software to make sure that the current control behaves accordingly.

Data Type

Integer (boolean)


See Also

Properties:

ItemStyle

StateCapsLock

StateNumLock

StateScrollLock


StateNumLock Property

See Also

Description

Gets and sets the num lock state.

Usage

[form.][control.]StateNumLock[ = boolean ]

Remarks

This property allows you to get and set the state of the NumLock key.

Data Type

Integer (boolean)


See Also

Properties:

ItemStyle

StateCapsLock

StateInsert

StateScrollLock


StateScrollLock Property

See Also

Description

Gets and sets the scroll lock state.

Usage

[form.][control.]StateScrollLock[ = boolean ]

Remarks

This property allows you to get and set the state of the ScrollLock key.

Data Type

Integer (boolean)


See Also

Properties:

ItemStyle

StateCapsLock

StateInsert

StateNumLock


BevelBar Property Example
Bevel Example

In this example, the program will styles of the bevels used. To try this example, paste the code into the Declarations section of a form that contains a two horizontal scroll bars (one for one for ItemBevelInner and one for BevelOuter), two labels (which show the properties), and a MSStat control.  Press F5.  Play with  the scroll bars to see things change.

Sub Form_Load ()

    Me.BackColor = RGB(192, 192, 192)

    HScroll1.Value = 0

    HScroll1.Min = 0

    HScroll1.Max = 3

    HScroll2.Value = 0

    HScroll2.Min = 0

    HScroll2.Max = 4

    MSStat1.ItemCount = 3

    Call HScroll1_Change

    Call HScroll2_Change

End Sub

Sub HScroll1_Change ()

    MSStat1.ItemBevelInner(0) = HScroll1.Value

    Label1.Caption = "ItemBevelInner(0):" & Format$(HScroll1.Value)

End Sub

Sub HScroll1_Scroll ()

    Call HScroll1_Change

End Sub

Sub HScroll2_Change ()

    MSStat1.BevelOuter = HScroll2.Value

    Label2.Caption = "BevelOuter:" & Format$( HScroll2.Value )

End Sub

Sub HScroll2_Scroll ()

    Call HScroll2_Change

End Sub


Caption and DefaultItem Properties Example

In this example, the program will show the results of setting these two properties. To try this example, paste the code into the Declarations section of a form that contains a button, two text boxes, and a MSStat control.  Press F5.  Enter text into the first text box, enter the item number into the second text box, then press the command button.

Sub Form_Load ()

    Me.BackColor = RGB(192, 192, 192)

    Command1.Caption = "Set Default ItemCaption"

    MSStat1.ItemCount = 3

End Sub

Sub Command1_Click ()

    MSStat1.DefaultItem = Val(Text2.Text)

    MSStat1.Caption = Text1.Text

End Sub


Border Property Example

In this example, the program will add and remove the border. To try this example, paste the code into the Declarations section of a form that contains a check box, a label, and a MSStat control.  Press F5.  Play with the check box to see things change.

Sub Form_Load ()

    Check1.Value = 0

    Call Check1_Change

End Sub

Sub Check1_Click ()

    MSStat1.Border = Check1.Value

    If Check1.Value <> 0 Then

        Label1.Caption = "Border"

    Else

        Label1.Caption = "No Border"

    End If

End Sub


ItemClick and ItemDblClick Events Example

In this example, the program will add and remove the border. To try this example, paste the code into the Declarations section of a form that contains a label and a MSStat control.  Press F5.  Click and double click on the items to see what happens.

Sub Form_Load ()

    MSStat1.ItemCount = 5

End Sub

Sub MSStat1_ItemClick( ItemIndex As Integer )

    Label1.Caption = "ItemClick: " & ItemIndex

End Sub

Sub MSStat1_ItemDblClick( ItemIndex As Integer )

    Label1.Caption = "ItemDblClick: " & ItemIndex

End Sub


ItemPercent Property Example

In this example, the program will show a percentage bar item going up and down. To try this example, paste the code into the Declarations section of a form that contains a scroll bar and a MSStat control.  Press F5.  Play with the scroll bar.

Sub Form_Load ()

    HScroll1.Value = 50

    HScroll1.Min = 0

    HScroll1.Max = 100

    MSStat1.ItemStyle(0) = 5 ' percentage bar

    Call HScroll1_Change

End Sub

Sub HScroll1_Change ()

    MSStat1.ItemPercent(0) = HScroll1.Value

    Label1.Caption = "ItemPercent(0):" & Format$(HScroll1.Value)

End Sub

Sub HScroll1_Scroll ()

    Call HScroll1_Change

End Sub


BevelWidth Property Example
Width Properties Example

In this example, the program will vary the width of bevels. To try this example, paste the code into the Declarations section of a form that contains three horizontal scroll bars, three labels, and a MSStat control.  Press F5.  Play with the scroll bars to see things change.

Sub Form_Load ()

    HScroll1.Value = 1

    HScroll1.Min = 0

    HScroll1.Max = 10

    HScroll2.Value = 1

    HScroll2.Min = 0

    HScroll2.Max = 10

    HScroll3.Value = 1

    HScroll3.Min = 0

    HScroll3.Max = 10

    Call HScroll1_Change

    Call HScroll2_Change

    Call HScroll3_Change

End Sub

Sub HScroll1_Change ()

    MSStat1.BevelWidth = HScroll1.Value

    Label1.Caption = "BevelWidth:" & Format$( HScroll1.Value )

End Sub

Sub HScroll1_Scroll ()

    Call HScroll1_Change

End Sub

Sub HScroll2_Change ()

    MSStat1.HorzGap = HScroll2.Value

    Label2.Caption = "HorzGap:" & Format$( HScroll2.Value )

End Sub

Sub HScroll2_Scroll ()

    Call HScroll2_Change

End Sub

Sub HScroll3_Change ()

    MSStat1.VertGap = HScroll2.Value

    Label3.Caption = "VertGap:" & Format$( HScroll3.Value )

End Sub

Sub HScroll3_Scroll ()

    Call HScroll3_Change

End Sub


Registration Information

Credits

MSStat was written by James Shields.  Inquiries can be sent to 71231,2066 on CompuServe, or mabry@mabry.com on Internet.  Our mailing address is:

Mabry Software, Inc.

Post Office Box 31926

Seattle, WA  98103-1926

Registration

You can register this program by sending $20 ($25 for international orders) and your address.  You can register MSStat and its C source code by sending $45 ($50 for international orders).  With your order, you will receive a copy of our manual documenting all of our controls.

Add $5 per order for shipping and handling.

For your convenience, an order form has been provided that you can print out directly from this help file.

Prices are subject to change without notice.

E-mail Discount

You may take a $5 discount for e-mail delivery of this package (CompuServe or Internet).  If you choose this option, please note: a printed manual is not included.  Be sure to include your full mailing address with your order.  Sometimes (on the Internet) the package cannot be e-mailed.  So, we are forced to send it through the normal mails.

CompuServe members may also take the $5 e-mail discount by registering this package in the software registration forum (GO SWREG).  MSStats SWREG ID number is 4462.  The source code version's ID number is 4463.

Credit Card Orders

We accept VISA, Mastercard and American Express.  If you e-mail your order to us, please be sure to include your card number, expiration date, complete mailing address, and your phone number (in case we have any questions about your order).

© Copyright 1995-1997 by Mabry Software


Order Form
 MSStat Order Form

Use the Print Topic.. command from the File menu to print this order form.

Mail this	Mabry Software, Inc.

form to:	Post Office Box 31926

Seattle, WA  98103-1926

Phone: 206-634-1443

Fax: 206-632-0272

CompuServe: 71231,2066

Internet: mabry@mabry.com

Web: www.mabry.com

Where did you get this copy of MSStat?

____________________________________________________________________

Ship to:	____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

Phone:	_________________________________________________________________

Fax:	_________________________________________________________________

E-Mail:	_________________________________________________________________

MC/VISA/AMEX: _________________________________________ exp. __________________

P.O. # (if any):	_________________________________________________________________

qty ordered	____	REGISTRATION

$25 each ($30 international).  Check or money order in U.S. currency drawn on a U.S. bank.  Add $5.00 per order for shipping and handling.

qty ordered	____	SOURCE CODE AND REGISTRATION

$45 each ($50 international).  Check or money order in U.S. currency drawn on a U.S. bank.  Add $5.00 per order for shipping and handling.


Getting Custom Controls Written

If you or your organization would like to have custom controls written, you can contact us at the following:

Mabry Software, Inc.

Post Office Box 31926

Seattle, WA  98103-1926

Phone: 206-634-1443

Fax: 206-632-0272

CompuServe: 71231,2066

Internet: mabry@mabry.com

You can also contact Zane Thomas.  He can be reached at:

Zane Thomas

Post Office Box 121

Indianola, WA  98342

Internet: zane@mabry.com


Licensing Information

Legalese Version

Mabry Software grants a license to use the enclosed software to the original purchaser.  Copies may be made for back-up purposes only.  Copies made for any other purpose are expressly prohibited, and adherence to this requirement is the sole responsibility of the purchaser.

Customer written executable applications containing embedded Mabry products may be freely distributed, without royalty payments to Mabry Software, provided that such distributed Mabry product is bound into these applications in such a way so as to prohibit separate use in design mode, and that such Mabry product is distributed only in conjunction with the customers own software product.  The Mabry Software product may not be distributed by itself in any form.

Neither source code for Mabry Software products nor modified source code for Mabry Software products may be distributed under any circumstances, nor may you distribute .OBJ, .LIB, etc. files that contain our routines. This control may be used as a constituent control only if the compound control thus created is distributed with and as an integral part of an application.  Permission to use this control as a constituent control does not grant a right to distribute the license (LIC) file or any other file other than the control executable itself.This license may be transferred to a third party only if all existing copies of the software and its documentation are also transferred.

This product is licensed for use by only one developer at a time.  Mabry Software expressly prohibits installing this product on more than one computer if there is any chance that both copies will be used simultaneously.  This restriction also extends to installation on a network server, if more than one workstation will be accessing the product.  All developers working on a project which includes a Mabry Software product, even though not working directly with the Mabry product, are required to purchase a license for that Mabry product.

This software is provided as is.  Mabry Software makes no warranty, expressed or implied, with regard to the software.  All implied warranties, including the warranties of merchantability and fitness for a particular use, are hereby excluded.

MABRY SOFTWARE'S LIABILITY IS LIMITED TO THE PURCHASE PRICE.  Under no circumstances shall Mabry Software or the authors of this product be liable for any incidental or consequential damages, nor for any damages in excess of the original purchase price.

To be eligible for free technical support by telephone, the Internet, CompuServe, etc. and to ensure that you are notified of any future updates, please complete the enclosed registration card and return it to Mabry Software.

English Version

We require that you purchase one copy of a control per developer on a project.  If this is met, you may distribute the control with your application royalty free.  You may never distribute the LIC file.  You may not change the product in any way that removes or changes the requirement of a license file.

We encourage the use of our controls as constituent controls when the compound controls you create are an integral part of your application.  But we don't allow distribution of our controls as constituents of other controls when the compound control is not part of an application.  The reason we need to have this restriction is that without it someone might decide to use our control as a constituent, add some trivial (or even non-trivial) enhancements and then sell the compound control.  Obviously there would be little difference between that and just plain reselling our control.

If you have purchased the source code, you may not re-distribute the source code either (nor may you copy it into your own project).  Mabry Software retains the copyright to the source code.

Your license is transferable.  The original purchaser of the product must make the transfer request.  Contact us for further information.